The present disclosure relates generally to mainframe computing, and more particularly to methods and systems of collecting performance metrics data from Java virtual machines.
A Java virtual machine (JVM) interprets compiled Java binary code (called bytecode) for a computer's processor (or “hardware platform”) so that it can perform a Java program's instructions. Java was designed to allow application programs to be built that could be run on any platform without having to be rewritten or recompiled by the programmer for each separate platform. More and more applications are running on JVMs, and monitoring JVM performance becomes important to ensure the applications are running smoothly and efficiently, and to manage and maintain system health. To maintain system health, performance events are constantly monitored to detect application progress and liveness. To manage system health, performance tuning is performed to detect performance issues, drill down to find causes of these performance issues, and identify solutions.
Computers need to share resources, such as memory, CPU, and disks where data is stored. Certain processes to retrieve performance metrics data can cause the computer to slow down, to perform sub-optimally for various types of computers. For example, most computers rely on a network connection to collect performance metrics data, and when network bottlenecks occur, the entire performance metrics data collection operation slows down, or stops when the network is down.
Therefore, heretofore unaddressed needs still exist in the art to address the aforementioned deficiencies and inadequacies.